1. Field of the Invention
The present invention relates to an online program-updating system and a computer-readable recording medium storing a program-updating program, and more particularly to an online program-updating system for carrying out an update of a program without stopping operation of a system in which the program is stored and run a computer-readable recording medium storing a program-updating program for the update.
2. Description of the Related Art
As performance of microcomputers has been enhanced, it is possible to replace devices and systems including communication systems, which are conventionally controlled by large scale computers, with small-sized devices and systems controlled by microcomputers. Further, recent development of microprocessors is amazing and the performance and capability thereof are being improved day by day, with more and more devices and systems coming to incorporate microprocessors.
In order to realize desired capabilities through incorporation of a microprocessor, a program for operating the microprocessor is required, and actually, the desired capabilities are realized for the most part through execution of such a program. If contents of various functions are written into a program, addition or modification of a specific function can be carried out simply by rewriting the program. Recently, in accordance with the development of microprocessors, upgrade of an existing function realized by the program or addition of a new function realized by the same is frequently carried out, so that there are very few programs which continue to be run without any version upgrade.
Under such circumstances, a method is employed in which a new version of a program can be downloaded from another system so as to enable frequent modification or upgrade of the program. The download of the new version of the program from one system to a plurality of other systems has made it possible to readily modify the program stored in each of the other systems providing identical functions.
In order to download a program, it is generally required to install dedicated programs (called "loaders" or the like) for use in program transfer, in a system from which the program is downloaded (i.e. a program-providing system which provides a latest version of the program) and a system to which the programs is downloaded (i.e. a program-executing system which runs the program thus provided), respectively. The dedicated program installed in the program-providing system designates the starting address of a storage area in which the program is stored and an amount of data to be transferred for the download of the program, while the dedicated program installed in the program-executing system also designates a storage area in which the program is to be stored. This activates a transfer program to start a predetermined download. In order to check on normality of the download, information on a checksum carried out when the program was created is checked against a checksum of the program executed after download. If the checksum results are identical, it is determined that the program has been normally downloaded.
Programs can be downloaded as described above. However, since it is impossible to rewrite contents of a program during execution of the program, it is required to stop or interrupt operation of a system or a device when the download is carried out for an update of the program, so that the service to be provided by the system or the device is made unavailable to users.
In order to avoid this inconvenience, conventionally, a program is stored in two storage areas, i.e. an actually used area in which a running program is stored and a spare area in which a downloaded program is stored. A new program is downloaded and stored in the spare area, and then the spare area storing the new program and the actually used area are switched in function to change the spare area into the actually used area for execution of the updated program, whereby a time period during which the services are interrupted is reduced.
However, even if the two program storage areas are employed, the services are inevitably interrupted when the actually used area and the spare area are switched to each other. Moreover, various environmental settings are required for activation of a newly downloaded program, and hence it takes a certain time period before the services start to be actually provided.